In the latter half of the twentieth century, there began a phenomenon known as the information revolution. While the information revolution is a historical development broader in scope than any one event or machine, no single device has come to represent the information revolution more than the digital electronic computer. The development of computer systems has surely been a revolution. Each year, computer systems grow faster, store more data, and provide more applications to their users. At the same time, the cost of computing resources has consistently declined, so that information which was too expensive to gather, store and process a few years ago, is now economically feasible to manipulate via computer. The reduced cost of information processing drives increasing productivity in a snowballing effect, because product designs, manufacturing processes, resource scheduling, administrative chores, and many other factors, are made more efficient.
The reduced cost of computing and the general availability of digital devices has brought an explosion in the volume of information stored in such devices. With so much information stored in digital form, it is naturally desirable to obtain wide access from computer systems. The volume of information dwarfs the storage capability of any one device. To improve information access, various techniques for allowing computing devices to communicate and exchange information with one another have been developed. Perhaps the most outstanding example of this distributed computing is the World Wide Web (often known simply as the “web”), a collection of resources which are made available throughout the world using the Internet. People from schoolchildren to the elderly are learning to use the web, and finding an almost endless variety of information from the convenience of their homes or places of work. Businesses, government, organizations and even ordinary individuals are making information available on the web, to the degree that it is now the expectation that anything worth knowing about is available somewhere on the web.
The Internet, which provides the support for the web as well as for e-mail and other forms of communication and distributed processing among multiple digital systems, is a heterogeneous network of digital devices (nodes) connected by multiple links, so that between any two nodes of the network there are typically multiple paths, giving the Internet some degree of redundancy. In order to support communication between any two arbitrary nodes coupled to the Internet, a global naming convention is used to assign a unique name to each node. This naming convention is known as the Domain Name System, or DNS.
A source node connected to the Internet, having only the global DNS name of a target node, can send a data packet to the target, allowing the various routers, servers and other devices on the Internet to determine a path and final destination node for the data packet. As part of this routing process, it is necessary to translate a global name in the DNS to an interface address of the target node which is used at the communications link level. Name-to-address translation is accomplished by one or more domain name servers connected to the Internet. Each domain name server provides name-to-address translation for nodes within a respective zone. Specifically, this means that each domain name server maintains a database of names and addresses, which it uses to respond to external queries requesting name-to-address translation information.
As the Internet has evolved, the task of maintaining the databases in the domain name servers has accordingly grown in scope and complexity. Originally, it was anticipated that the domain server databases would be relatively static databases maintained by manual editing. The massive increase in number of nodes and uses to which they are put has induced changes to the underlying Internet protocols. The most recent protocol, Internet Protocol Version 6 (IPv6), supports interface addresses which have limited lifetimes, expiring by their own terms at the end of the defined lifetime. With these and other changes, it is expected that the number of interface addresses per node may increase dramatically, and that the set of current valid addresses may be subject to frequent change. The burden of maintaining the domain name server database is accordingly increased.
A set of application interfaces has been defined which permits authorized clients to add, delete or edit records in a domain name server's database. These application interfaces have been used by certain special configuration servers known as DHCP servers. A DHCP server assists the configuration process by defining interface addresses for a set of nodes, and providing names and addresses to the domain name server. As useful as these DHCP servers are, they provide only an incomplete solution to the problem of maintaining domain name server databases. A separate DHCP server entity must be established for some set of nodes, which itself must be defined, configured and maintained. Such a DHCP server will not always be available.
The advent of IPv6 and the continued growth and maturation of the Internet is likely to overwhelm conventional processes for maintaining the domain name server databases. A need therefore exists for improved techniques for maintaining domain name server data, particularly in view of interface addresses which expire and change frequently. Moreover, unlike many databases used in environments of somewhat limited scope, it is impossible, or at best extremely difficult, to modify the external behavioral parameters of the database, since any domain name server must continue to provide service according to the various applicable Internet protocols and on the assumption that at least some of the devices requesting service may be operating according to an older level of protocol. Any technique for maintaining domain name server databases should therefore be consistent with existing Internet protocols.